Multi-stage content analysis system that profiles users and selects promotions

ABSTRACT

A system that analyzes a user&#39;s communications to select a promotion that is presented to the user. The analysis may occur in two stages: a first stage analyzes a single communication from a user to determine whether the user is a potential target for a promotion; for potential targets, a second stage analyzes a history of communications from the user to generate a user profile. The system may then select a promotion based on the profile. The profile may include a set of profile tags that are considerably more detailed and granular than traditional demographic data; tags may for example indicate user affiliations with groups or ideas (such as religions or political parties), or user life cycle stages. Using these rich, detailed user profile tags, the system may achieve promotion response rates far above those from traditional advertising, which relies on cookies or simple demographic categories.

This application is a continuation of U.S. patent application Ser. No.16/272,790, filed 11 Feb. 2019, which is a continuation-in-part of PCTInternational Application No. PCT/US2018/057416, filed 24 Oct. 2018,which is a continuation of U.S. patent application Ser. No. 15/792,403,filed 24 Oct. 2017, the specifications of which are hereby incorporatedherein by reference.

BACKGROUND OF THE INVENTION Field of the Invention

One or more embodiments of the invention are related to the fields ofdata processing and online advertising. More particularly, but not byway of limitation, one or more embodiments of the invention enable asystem that analyzes user-generated content, such as electronic messagesor postings, and selects a promotion based on a user profile createdfrom this analysis.

Description of the Related Art

Internet advertising systems attempt to present promotions to users thatare likely to generate a positive user response. However, existingsystems generally have very limited information on users and theirinterests. Promotions that are presented to users therefore typicallyhave very low click-through rates, often below 0.1%. This problem oflimited information is compounded by the proliferation of mobiledevices, since traditional methods of user tracking such as storingcookies on the user's computer may be less effective when userscommunicate using a variety of devices. Even when users interact with asingle device, cookies typically provide only a history of sites that auser has visited. Membership sites may attempt to collect informationabout users as part of registration, but this data is often limited orinaccurate, and is only available when a user is logged in. Detailedinformation on a user's interests and preferences is rarely available toadvertisers.

A potential source of detailed information about users and theirpreferences is the history of the electronic communications (messages,tweets, postings, etc.) that each user has generated. The specific wordsand phrases that a user has employed may indicate topics of interest tothe user, and may help categorize the user's style and background. Thiscommunications history data has generally not been effectively analyzedby existing advertising systems. Moreover, since it may be impracticalto continuously analyze a user's entire communications history, it maybe desirable to use a multi-stage process that for example firstdetermines that a user is a potential promotion target, and thenanalyzes the communications history to build a detailed user profile.

For at least the limitations described above there is a need for amulti-stage content analysis system that profiles users and selectspromotions.

BRIEF SUMMARY OF THE INVENTION

One or more embodiments described in the specification are related to amulti-stage content analysis system that profiles users and selectspromotions. Embodiments may develop a user profile based on analysis ofthe user's communications history, and use this profile to select apromotion to present to the user. Because the profile developed from thecommunications history may include rich, detailed information about theuser, response rates to promotions selected by embodiments of theinvention may be much higher than the very low response rates (0.1% orless) from traditional advertising; in testing, some embodiments of theinvention have achieved response rates above 40%.

One or more embodiments of the invention may include three majorcomponents: a first analysis stage that analyzes a specificcommunication from a user, and determines whether the user may be apotential target for a promotion; a second analysis stage that analyzesan entire communications history for the user (which may includemultiple messages over time) in order to build a user profile that mayassociate one or more profile tags with the user; and a promotionselector that selects a specific promotion based on the profile tags,and presents this promotion to the user. The second analysis stage maybe executed only if the first analysis stage determines that the user isa potential target.

User profile tags may be any type of data that describes any attributeor aspect of the user or of the user's communications. For example,without limitation, profile tags may describe one or more affiliationswith an organization, a group, a cause, or a belief. Examples ofaffiliation tags may include, without limitation, religious affiliation,or political affiliation (for example with a political party, apolitical viewpoint, or a political candidate). User profile tags mayalso for example be associated with life cycle stages of the user, suchas for example, without limitation, stages such as teenager, prospectivestudent, student, new graduate, early adult, expectant spouse, newspouse, expectant new parent, new parent, expectant empty nester, emptynester, senior, grandparent, expectant retiree, and retiree.

To generate user profile tags, one or more embodiments may access adatabase of key words and phrases associated with each potential tag,and compare this database to the words and phrases in the communicationshistory. A frequency count for each word and phrase within the historymay be calculated, and these frequency counts may be used to calculate atag relevance score for each tag. An illustrative method for calculatingrelative tag relevance that may be used in one or more embodiments is anaïve Bayes classifier, which uses the word and phrase frequencies asfeature vectors and calculates the probability that the communicationshistory is associated with each profile tag.

One or more embodiments may include a third analysis stage, which maymodify or extend the user profile tags generated in the second analysisstage. This third stage may access one or more external databases ofuser profile information, instead of or in addition to analyzing theuser's communications history. The third analysis stage may be invokedonly if the second analysis stage determines that the user continues tobe a potential target for a promotion.

One or more embodiments may use machine learning to improve theperformance of any or all of the first analysis stage, the secondanalysis stage, the third analysis stage (if present) and the promotionselector. A machine learning engine may use training data that may forexample indicate how or whether users responded to promotions, or thepurchases, subscriptions, enrollments or other actions taken by theseusers. For embodiments that associate words and phrases with userprofile tags, the machine learning engine may modify these associationsto improve response performance. For example, a machine learning enginemay use the training data to learn the parameters of a naïve Bayesclassifier that maps the communications history into user profile tags.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other aspects, features and advantages of the inventionwill be more apparent from the following more particular descriptionthereof, presented in conjunction with the following drawings wherein:

FIG. 1 shows an architectural block diagram of a multi-stage contentanalysis system with a first stage that determines whether a user is apotential promotion target, a second stage than analyzes the user'scommunications history to build a user profile, and a promotion selectorthat selects a promotion to present to the user.

FIG. 2 shows illustrative user profile tags that may be generated froman analysis of the user's communications history.

FIG. 3 shows an illustrative method for generating user profile tagsthat may be used in one or more embodiments; this method uses a naïveBayes classifier to map the words and phrases of the communicationshistory into probabilities associated with profile tags.

FIG. 4 shows an extension of the system of FIG. 1 that adds a thirdanalysis stage that ingests external user profile data.

FIG. 5 shows an extension of the system of FIG. 1 that incorporates amachine learning engine that analyzes responses to promotions in orderto update the analysis or promotion selection stages.

FIG. 6 shows an illustrative machine learning engine that learnsprobabilities using a multinomial naïve Bayes classifier.

FIG. 7 shows illustrative computer hardware that may be incorporatedinto one or more embodiments of the system and may be used to executeany or all of the functions of the system.

DETAILED DESCRIPTION OF THE INVENTION

A multi-stage content analysis system that profiles users and selectspromotions will now be described. In the following exemplarydescription, numerous specific details are set forth in order to providea more thorough understanding of embodiments of the invention. It willbe apparent, however, to an artisan of ordinary skill that the presentinvention may be practiced without incorporating all aspects of thespecific details described herein. In other instances, specificfeatures, quantities, or measurements well known to those of ordinaryskill in the art have not been described in detail so as not to obscurethe invention. Readers should note that although examples of theinvention are set forth herein, the claims, and the full scope of anyequivalents, are what define the metes and bounds of the invention.

FIG. 1 shows an architectural block diagram of an illustrativeembodiment of the invention. This system selects a promotion 132 totransmit to a user 101, based on an analysis of the user'scommunications. The system generally attempts to select a promotion thatis most likely to lead to a positive response from the user, where aresponse may for example be a clickthrough or some other action.Initially user 101 generates a communication 102, which may trigger thesystem's analysis to determine whether a promotion should be provided asa response. In one or more embodiments, communication 102 may be anytype of message or information, including for example, withoutlimitation, a text message, a tweet, an email message, a voice message,a chat message, a fax, an Instagram™, an image, a video, a posting on asocial media site or any other site, a blog entry, a comment, a responseto or comment on another message or posting, a forwarding of anothercommunication, or data entry into a form or field. In a first stage ofanalysis, Message Analyzer 111 receives communication 102 and analyzesit to determine whether the user may be a potential target for one ormore promotions. Promotion information about various promotions mayavailable for example in database 141. This database may includeinformation on the potential promotions, and information that indicateshow to determine which promotion or promotions may be an appropriateresponse to a communication. Initial analysis stage 111 may in one ormore embodiments analyze the text of communication 102 to match thistext against promotion information 141. For example, without limitation,this first stage of analysis may scan the text of communication 102 forspecific key words or phrases that suggest that the user may be a targetfor a promotion. As an illustration, in the example of FIG. 1 the text“applying to college” in message 102 may suggest to Message Analyzer 111that the user may be a prospective college student, and may therefore beappropriate for one or more promotions by colleges seeking to promotetheir institutions to prospective applicants. In one or moreembodiments, Message Analyzer 111 may use any method or methods todetermine whether a message indicates a potential target for apromotion, including but not limited to text analysis, natural languageprocessing, keyword matching, or artificial intelligence. In one or moreembodiments, the Message Analyzer 111 may use additional informationsuch as the identity of the user or any other contextual data to assesswhether the user is a potential target. The determination of whether auser is a potential target may depend on the type of promotion; forexample, for products and services, a potential target may be a user whoappears to be “in the market” for the relevant category of products andservices associated with one or more promotions. Message analyzer 111may for example be implemented on a computer or computer that isspecifically programmed to process information.

Message Analyzer 111 may make a determination 112 as to whether the user101 appears to be a potential target for a promotion, based on the firststage of analysis. If the user does appear to be a potential target, inone or more embodiments a second analysis stage 121 may then beperformed in more detail to generate a profile of the user. A secondanalysis stage may also confirm or reject the initial hypothesis thatthe user is a viable promotion target. The second analysis stage may forexample be a Communications History Analyzer 121, which may obtain andanalyze a communications history 122 that the user has generated overtime. Like the initial communication 102, in one or more embodiments thecommunications history 122 may include any type or types ofcommunications, including for example, without limitation, textmessages, tweets, email messages, voice messages, chat messages, faxes,an Instagrams™, images, videos, postings on social media sites or anyother sites, blog entries, comments, responses to or comments on othermessages or postings, forwarding of other communications, or data entryinto forms or fields.

Communications History Analyzer 121 for example a computer or computerthat is specifically programmed to process information analyzescommunications history 122 and generates one or more user profile tags123 that describe characteristics of the user and the user'scommunications. This analysis may also use information 141 aboutpromotions. User profile tags may include any qualitative orquantitative data describing the user or the user's communications. Tagsmay be organized in any desired manner, such as for example in ahierarchy of groupings. In one or more embodiments, data may beassociated with the profile tags, such as for example a probability thata specific tag applies to the user. Communications History Analyzer 121may use any desired method or methods to derive tags 123 from thecommunications history 122. For example, without limitation, certaintags may be associated with specific key words or phrases, and theanalysis may include searching for these key words and phrases in thecommunications history 122.

User profile tags 123 may then be input into a Promotion Selector 131that selects a specific promotion from the available promotions indatabase 141. The Promotion Selector may also further analyze the user'scurrent communication 102. In one or more embodiments, the PromotionSelector may also make a determination as to whether any promotionshould be provided to the user. For example, if the user profile tags donot contain tags relevant to any promotions, no promotion may beselected, or a random promotion may be selected (for example to assistwith machine learning, as described below). In one or more embodiments,the Promotion Selector 131 may select multiple promotions for a user,and may present these promotions to the user sequentially, in parallel,or randomly. The Promotion Selector may use the profile tags 123 todetermine which promotion or promotions are most appropriate or valuablefor the user, or are most likely to generate a desired response. Thisdetermination may for example be based on the user's apparent interestsor demographics, or on the style of communication the user has used incommunications history analyzer 121. In the example illustrated in FIG.1 , promotion information 141 may for example include promotions from anumber of different colleges seeking applications; the profile tags 123are used to match the user to the college or colleges that align bestwith that user's interests or characteristics. Selected promotion 132 isthen transmitted to user 101. In one or more embodiments, the promotion132 may be transmitted in any desired manner, including for example,without limitation, as a text message, email message, tweet, posting,banner ad, coupon, or media feed. A promotion message 132 may be sent inany desired format and from any sender. The promotion message 132 may betransmitted as a response to message 102, or as an independentcommunication without a reference to the original user communication102. Promotion 132 may be transmitted immediately to user 101, or it maybe transmitted after a delay so that the user is not overwhelmed orconfused by an immediate reaction to the user's communication 102.

User profile tags generated by the Communications History Analyzer 121may include highly detailed information about the user that far exceedstraditional demographic user data. Generating this detailed informationis possible because the user's communications history is analyzeddirectly; the system does not need to rely on traditional data sourcessuch as user registration data. FIG. 2 illustrates this advantage ofenriched user profile tags over traditional demographic data. Userprofile tags 123 may include traditional demographic data 201, such asgender, age, marital status, and income. This demographic data may bederived from communications history, or it may be obtained from datasources such as registration databases and user demographic records 202.However, by analyzing communications history 122, one or moreembodiments of the invention may also generate enriched profile tags 203with potentially fine-grained information about the user and the user'spreferences and interests. FIG. 2 illustrates some potential enrichedprofile tags; these examples are illustrative and are not limiting forthe types of profile tags that may be generated. For example, enrichedprofile tags derived from communications history may include informationabout the user's affiliations. Affiliations may for example includeaffiliation with any organization, group, cause, or belief. For example,affiliations may include religious beliefs or groups, political beliefs,or affiliation with causes or charities. Political affiliations forexample may include affiliation with a political party, a politicalviewpoint, or a political candidate. As an illustration of how theseaffiliations may be useful, analysis of communications history 122 maydetermine that a user is a potential voter for a particular candidate,or that the user is affiliated with causes that a candidate supports;this user may then be targeted with promotions that encourage the userto support or vote for the candidate. As a second example, analysis ofcommunications history 122 may determine that a user has certainreligious beliefs; religious organizations or religiously-affiliatedentities (such as Catholic schools for example) may then target thatuser with promotions.

Enriched profile tags 203 may also include tags that describe aspects ofthe user's life cycle stage. These life cycle stage tags may be moregranular and descriptive than simple age categories. For example, theymay indicate certain key life events that are imminent for the user,that have recently occurred, or that are currently occurring. Theseevents might include for example, without limitation, graduation,beginning or ending work or a job, parenthood, marriage,grandparenthood, or retirement. Life cycle stage tags may for exampleinclude, without limitation, tags such as teenager, prospective student,student, new graduate, early adult, expectant spouse, new spouse,expectant new parent, new parent, expectant empty nester, empty nester,senior, grandparent, expectant retiree, and retiree.

Enriched profile tags 203 may also characterize the user's language,which may include the language or languages spoken or understood by theuser and the particular communication style or level the user prefers.These tags may assist in selecting promotions that match the user'spreferred or comfortable communication style. Tags may also describe theuser's activities and interests, and the types of products and servicesthe user may be interested in. These examples of tags are not limiting;one or more embodiments may generate any type of tags to describe anyaspects of the user or of the user's communications, such as for exampleactivities, preferences, ideas, relationships, knowledge, background,education, status, purchases, searches, inquiries, positions, styles,location, or origin.

Profile tags may be generated using any desired method or methods. FIG.3 illustrates a method that may be used in one or more embodiments; thisillustrative method uses a naïve Bayes classifier to classify the user'scommunications history 122 a into one or more categories. A “category”in this example is synonymous with a user profile tag. The illustrativeexample shown in FIG. 3 shows four categories (each corresponding to auser profile tag) for ease of illustration; one or more embodiments mayclassify the history into any desired number of categories. A database301 associates key words and phrases with tags (categories). In thisexample, the database 301 contains a table 302 that provides aprobability for each word (or phrase) in the database relative to eachcategory. The Communications History Analyzer 121 ingests communicationshistory 122 a, and extracts word frequencies 312 from the history usingprocedure 311. The word frequency extractor may in one or moreembodiments include other procedures such as stemming (for example,converting the word “studying” to the stem “study”) and stop wordfiltering (for example, ignoring common words such as “a”, “in”, etc.).The word frequencies 312 are then processed using probability table 302via classification algorithm 313, resulting in category probabilities123 a for the communications history. In this example, the“College-Seeker” category has the highest probability, so it may beassigned as a tag for the communications history. One or moreembodiments may assign multiple tags, for example if there are severaltags with relatively high probabilities, or no tags at all if no tag hasa probability above a threshold value.

In one or more embodiments, the naïve Bayes classification calculation313 may also include a priori probabilities for the individualcategories; these a priori probabilities may be obtained from varioussources such as a corpus of documents, external databases, or expertopinions. In one or more embodiments, the probability calculations maybe performed as logarithms, which is equivalent to taking a weighted sumof the log-probabilities of the words in each category.

The naïve Bayes classifier shown in FIG. 3 is an illustrative method;one or more embodiments may use any type of classifier or any otheralgorithm to assign tags to a communications history. Classifiers may beprobabilistic or non-probabilistic; tags may or may not be assigned withprobabilities or confidence levels. One or more embodiments may alsoconsider other features derived from the communications history toperform classification, instead of or in addition to the presence orcount of individual words or phrases. For example, one or moreembodiments may use n-grams of any length as features. One or moreembodiments may use natural language processing to parse and analyze thecommunications. One or more embodiments may take into account word orn-gram positions for classification or assignment of tags. One or moreembodiments may weight words, phrases, or n-grams differently acrossdifferent messages in a communications history; for example, more recentmessages may be assigned higher weights. One or more embodiments mayweight words, phrases, or n-grams differently depending on theirposition within a message; for example, title words for a message may begiven higher weight than the message text.

One or more embodiments may incorporate additional stages or featuresinto the architecture illustrated in FIG. 1 . FIG. 4 illustrates anextension of the architecture of FIG. 1 that includes a third analysisstage. After Communications History Analyzer 121 generates user profiletags 123, a determination may be made as to whether the user stillappears to be a potential target 401 for a promotion. If so, a profileaugmentation stage 403 may be executed to obtain and analyze additionaluser profile information. For example, this stage may access externaldatabases 402 that may contain user information. In some situations,access to these external data sources may be costly; therefore, it maybe valuable to obtain this data only when the first two analysis stages(111 and 121) indicate that the user may be an attractive promotiontarget. The Augment Profile stage 403 adds information to user profiletags 123, resulting in an augmented user profile 404. The augmentedprofile may for example include information obtained from or derivedfrom external data sources 402. User profile tags 123 may be combinedwith external data in any desired manner; for example, analysis of theuser's communications history 121 may suggest a user's life cycle stage,and external data may have a user's age or age category that may becorrelated with or compared to this life cycle stage. The PromotionSelector 131 may then use the augmented profile 404 to select apromotion 132 for transmission to the user.

FIG. 5 illustrates another extension of the architecture of FIG. 1 ;this extension incorporates a machine learning engine into the system.In this illustrative embodiment, the response 501 (or lack of response)of user 101 to promotion 132 is tracked along with the message 102 andcommunications history 122 that were analyzed to select the promotion;these data may for example be incorporated into a response record 502.This response record, along with other response records from other usersand other promotions (or from other data sources), are assembled into atraining dataset 503 that may be used to train a Machine Learning Engine504. The Machine Learning Engine 504 may learn or refine models that maybe applied to update 505 any or all of the methods and algorithms usedby the Message Analyzer 111, the Communications History Analyzer 121,and the Promotion Selector 131. With this closed-loop feedback systemthat incorporates response tracking and machine learning, theeffectiveness of the system at selecting promotions to which users willrespond may increase over time. For example, the training dataset 503may indicate which promotions are associated with positive responsesfrom users having certain user profile tags, which may improve promotionselection for future communications. One or more embodiments may use anysource of training data, including but not limited to response data fromusers that have previously interacted with the system. For example,training data may include records of user purchases, subscriptions,installations, downloads, logins, clicks, registrations, or any otheractivity or activities of interest. Training data may include anyinformation about users, including but not limited to the users'communications histories. Training data may indicate whether usersresponded to previous promotions or situations, and how they respondedif they responded. Training data may include synthesized examples aswell as real examples.

One or more embodiments may use any desired machine learning techniquesto learn from a training dataset, including for example, withoutlimitation, supervised or unsupervised learning, regression, logisticregression, classifiers, neural networks, clustering, dimensionreduction, or support vector machines. FIG. 6 illustrates a machinelearning engine that learns the parameters of a naïve Bayes classifier,such as the classifier described above with respect to FIG. 3 . Trainingdataset 503 may for example contain labeled examples 601, each of whichcontains a communications history and a corresponding class label. Thistraining data 601 is input into a naïve Bayes classifier machinelearning engine 504 a, which applies algorithm 602 to calculate theprobabilities 302 of each word within each class. This illustrativealgorithm 602 uses a multinomial distribution model with Laplacesmoothing; one or more embodiments may use any desired algorithm tolearn any set of parameters from the training dataset 503.

All stages are performed using a computer having memory and specificinstructions to perform each stage of the processing in one or moreembodiments of the invention. FIG. 7 shows exemplary computer 700 thatmay be utilized in, by, or as any component in the system describedherein, according to one or more embodiments of the invention. In otherwords, for example, in at least one embodiment of the invention, anycomponent, element, structure, method, function, classifier and enginedescribed herein may be done, include or used by computer 700 and theelements thereof shown in FIG. 7 . In at least one embodiment, computer700 may be used for example to execute or host any or all of MessageAnalyzer 111, Communications History Analyzer 121, Promotion Selector131, and Machine Learning Engine 504. In one or more embodiments,computer 700 may be a network of computers, each of which may have anyor all of the components shown in FIG. 7 . In one or more embodiments,computer or computers 700 may also be utilized to implement any functionin the system, i.e., any step or act or function that executes in anycomputer or server or engine in the system. In at least one embodimentof the invention, computer 700 may include processor CPU 707 thatexecutes software instructions specifically tailored to the respectivefunctions of embodiments of the invention. By way of at least oneembodiment, the software instructions, such as computer programinstructions, may reside within memory 706. In at least one embodiment,computer 700 may include processor GPU 705, which may execute graphicsinstructions or other instructions for highly parallel operations, forexample. GPU program instructions may also reside within memory 706,according to one or more embodiments of the invention. In at least oneembodiment, computer 700 may include display interface 708, which maydrive display unit or units 710 of any computer in the system asdesired. In one or more embodiments, some computers 700 may or may notutilize a display. Computer 700 may include communication interface 724,which may include wireless or wired communications hardware protocolchips, according to at least one embodiment. In one or more embodimentsof the invention, communication interface 724 may include telephonicand/or data communications hardware. In one or more embodiments,communication interface 724 may include a Wi-Fi™ and/or BLUETOOTH™wireless communications interface. Any wireless network protocol or typemay be utilized in embodiments of the invention. In at least oneembodiment, CPU 707, GPU 705, memory 706, display interface 708,communication interface 724, human interface devices 730, secondarymemory 712, such as hard disk 714, removable storage 716, secondarymemory interface 720 and removable storage units 718 and 722 maycommunicate with one another over communication infrastructure 702,which is commonly known as a “bus”. By way of at least one embodiment,communications interface 724 may communicate over any wired or wirelessmedium that allows for communication with other wired or wirelessdevices over network 740. In one or more embodiments, network 740 maycommunicate with Internet 760 and/or database or databases 750.According to one or more embodiments of the invention, database 750 maybe utilized to implement any database described herein, including forexample Promotion Information 141, Registrations and Records 202, KeyWords and Phrases 301, and External Databases of Profile Data 402, andTraining Dataset 503.

While the invention herein disclosed has been described by means ofspecific embodiments and applications thereof, numerous modificationsand variations could be made thereto by those skilled in the art withoutdeparting from the scope of the invention set forth in the claims.

What is claimed is:
 1. A multi-stage content analysis system thatprofiles users and selects promotions, comprising: a computer comprisinga memory and instructions within said memory, wherein said computer isconfigured to execute said instructions to receive a communicationcreated by a user; analyze said communication to determine whether saiduser is a potential target for one or more promotions, wherein saidanalyze said communication comprises access a database comprisingpromotion information that comprises information that indicates how todetermine which promotion of said one or more promotions is anappropriate response to said communication, scan the communication andmatch said communication against said promotion information in saiddatabase using one or more of text analysis, natural languageprocessing, keyword matching or artificial intelligence, wherein saiddetermine whether said user is said potential target for said one ormore promotions depends on a type of said one or more promotions,wherein when said communication matches said promotion information, adetermination is made by said computer that said user is said potentialtarget for said one or more promotions; based on and in response to saidanalyze said communication, when said computer determines that said useris said potential target for a promotion receive a communicationshistory associated with said user, wherein said communications historycomprises a plurality of communications created by said user; and, whensaid computer receives said communication history based on when saidcomputer determines that said user is said potential target for said oneor more promotions analyze said communications history to confirm orreject said determination that said user is said potential target forsaid one or more promotions, wherein said confirm or reject comprisesassign one or more user profile tags to said user, wherein said analyzesaid communications history to assign said one or more user profile tagsto said user comprises  access said database of promotion informationcomprising key words and phrases associated with each tag of a set ofone or more tags;  calculate a frequency of each of said key words andphrases in said communications history;  calculate a tag relevance scorefor each tag of said set of one or more tags based on said frequency ofeach of said key words and phrases, wherein said calculate said tagrelevance score for each tag of said set of one or more tags comprises calculate a probability that said communications history is associatedwith each tag of said set of one or more tags using a naïve Bayesclassifier, wherein said frequency of each of said key words and phrasesin said communications history comprises a feature vector for said naïveBayes classifier; and, receive said one or more user profile tags; basedon and in response to said analyze said communications history and inresponse to said receive said one or more user profile tags, analyzesaid one or more user profile tags and said communication to determinewhether any promotion of said one or more promotions should be providedto the user, wherein when the one or more user profile tags do notcontain tags relevant to any promotions,  no promotion is selected, or a random promotion is selected to assist with machine learning, whereinwhen the one or more user profile tags do contain tags relevant to saidany promotions,  select a specific promotion from said one or morepromotions; and, transmit said specific promotion to said user.
 2. Themulti-stage content analysis system of claim 1, wherein said one or moreuser profile tags comprise one or more affiliations of said user with anorganization, group, cause, or belief.
 3. The multi-stage contentanalysis system of claim 2, wherein said organization, group, cause, orbelief comprises a religion.
 4. The multi-stage content analysis systemof claim 2, wherein said organization, group, cause, or belief comprisesa political party, a political viewpoint, or a political candidate. 5.The multi-stage content analysis system of claim 1, wherein said one ormore user profile tags comprise one or more life cycle stages associatedwith said user.
 6. The multi-stage content analysis system of claim 5,wherein said one or more life cycle stages comprise one or more ofteenager, prospective student, student, new graduate, early adult,expectant spouse, new spouse, expectant new parent, new parent,expectant empty nester, empty nester, senior, grandparent, expectantretiree, and retiree.
 7. The multi-stage content analysis system ofclaim 1, wherein said computer is further configured to: access anexternal database of user profile information; modify or extend said oneor more user profile tags based on said external database.
 8. Themulti-stage content analysis system of claim 1, further comprising: amachine learning engine configured to receive data describing one ormore of whether said user responded to said specific promotion that wastransmitted to said user; how said user responded to said specificpromotion; purchases, subscriptions, or enrollments made by said user;and, execute a machine learning algorithm on said data.
 9. Themulti-stage content analysis system of claim 8, wherein said machinelearning algorithm is configured to modify said key words and phrasesassociated with one or more of said set of one or more tags.
 10. Amulti-stage content analysis system that profiles users and selectspromotions, comprising: a computer comprising a memory and instructionswithin said memory, wherein said computer is configured to execute saidinstructions to receive a communication created by a user; analyze saidcommunication to determine whether said user is a potential target forone or more promotions, wherein said analyze said communicationcomprises access a database comprising promotion information thatcomprises information that indicates how to determine which promotion ofsaid one or more promotions is an appropriate response to saidcommunication, scan the communication and match said communicationagainst said promotion information in said database using one or more oftext analysis, natural language processing, keyword matching orartificial intelligence, wherein said determine whether said user issaid potential target for said one or more promotions depends on a typeof said one or more promotions, wherein when said communication matchessaid promotion information, a determination is made by said computerthat said user is said potential target for said one or more promotions;based on and in response to said analyze said communication, when saidcomputer determines that said user is said potential target for apromotion receive a communications history associated with said user,wherein said communications history comprises a plurality ofcommunications created by said user; and, when said computer receivessaid communication history based on when said computer determines thatsaid user is said potential target for said one or more promotionsanalyze said communications history to confirm or reject saiddetermination that said user is said potential target for said one ormore promotions, wherein said confirm or reject comprises generate oneor more user profile tags that describe characteristics of the user,wherein said one or more user profile tags are organized in a hierarchyof groupings, assign said one or more user profile tags to said user,wherein said analyze said communications history to assign said one ormore user profile tags to said user comprises  access said database ofpromotion information comprising key words and phrases associated witheach tag of a set of one or more tags;  calculate a frequency of each ofsaid key words and phrases in said  calculate a tag relevance score foreach tag of said set of one or more tags based on said frequency of eachof said key words and phrases, wherein said calculate said tag relevancescore for each tag of said set of one or more tags comprises  calculatea probability that said communications history is associated with eachtag of said set of one or more tags using a naïve Bayes classifier,wherein said frequency of each of said key words and phrases in saidcommunications history comprises a feature vector for said naïve Bayesclassifier; and, receive said one or more user profile tags; based onand in response to said analyze said communications history and inresponse to said receive said one or more user profile tags, analyzesaid one or more user profile tags and said communication to determinewhether any promotion of said one or more promotions should be providedto the user, wherein when the one or more user profile tags do notcontain tags relevant to any promotions,  no promotion is selected, or a random promotion is selected to assist with machine learning, whereinwhen the one or more user profile tags do contain tags relevant to saidany promotions,  select a specific promotion from said one or morepromotions; and, transmit said specific promotion to said user.
 11. Themulti-stage content analysis system of claim 10, wherein said one ormore user profile tags comprise one or more affiliations of said userwith an organization, group, cause, or belief.
 12. The multi-stagecontent analysis system of claim 11, wherein said organization, group,cause, or belief comprises a religion.
 13. The multi-stage contentanalysis system of claim 11, wherein said organization, group, cause, orbelief comprises a political party, a political viewpoint, or apolitical candidate.
 14. The multi-stage content analysis system ofclaim 10, wherein said one or more user profile tags comprise one ormore life cycle stages associated with said user.
 15. The multi-stagecontent analysis system of claim 14, wherein said one or more life cyclestages comprise one or more of teenager, prospective student, student,new graduate, early adult, expectant spouse, new spouse, expectant newparent, new parent, expectant empty nester, empty nester, senior,grandparent, expectant retiree, and retiree.
 16. The multi-stage contentanalysis system of claim 10, wherein said computer is further configuredto: access an external database of user profile information; modify orextend said one or more user profile tags based on said externaldatabase.
 17. The multi-stage content analysis system of claim 10,further comprising: a machine learning engine configured to receive datadescribing one or more of whether said user responded to said specificpromotion that was transmitted to said user; how said user responded tosaid specific promotion; purchases, subscriptions, or enrollments madeby said user; and, execute a machine learning algorithm on said data.18. The multi-stage content analysis system of claim 17, wherein saidmachine learning algorithm is configured to modify said key words andphrases associated with one or more of said set of one or more tags.